/*
 * 
 * Copyright (c) 2007-2013, University of California / Singapore Management University
 *   Lingxiao Jiang         <lxjiang@ucdavis.edu> <lxjiang@smu.edu.sg>
 *   Ghassan Misherghi      <ghassanm@ucdavis.edu>
 *   Zhendong Su            <su@ucdavis.edu>
 *   Stephane Glondu        <steph@glondu.net>
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *     * Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above copyright
 *       notice, this list of conditions and the following disclaimer in the
 *       documentation and/or other materials provided with the distribution.
 *     * Neither the name of the University of California nor the
 *       names of its contributors may be used to endorse or promote products
 *       derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * 
 */
//"top_statement",
//"inner_statement",
//"expr",
//"r_variable",
"expr_without_variable",
"assignment_list_element",
"variable",
//"base_variable_with_function_calls",
"function_call",
"method_or_not",
"function_call_parameter_list",
"variable_property",
"class_name_reference",
"ctor_arguments",
"dynamic_class_name_reference",
"base_variable",
"static_member",
"object_property",
"dynamic_class_name_variable_property",
"object_dim_list",
"variable_name",
"variable_without_objects",
"reference_variable",
"dim_offset",
"compound_variable",
"simple_indirect_reference",
//"rw_variable",
"scalar",
"class_constant",
"array_pair_list",
//"w_variable",
//"encaps_list",
"encaps_var",
"encaps_var_offset",
"internal_functions_in_yacc",
"exit_expr",
//"statement",
"unticked_statement",
"global_var",
"use_filename",
//"unset_variable",
"foreach_variable",
"foreach_optional_arg",
"foreach_statement",
//"declare_list",
"declare_statement",
"additional_catches",
"additional_catch",
"elseif_list",
"else_single",
"new_elseif_list",
"new_else_single",
"while_statement",
"for_expr",
"for_statement",
"switch_case_list",
"case_list",
"case_separator",
"unticked_function_declaration_statement",
"unticked_class_declaration_statement",
"class_entry_type",
"extends_from",
//"implements_list",
"class_statement",
//"class_variable_declaration",
//"class_constant_declaration",
"member_modifier",
"method_body",
//"interface_entry",
//"interface_extends_list",
"fully_qualified_class_name",
//"is_reference",
"static_scalar",
"common_scalar",
"static_class_constant",
"optional_class_type",
"T_ENDIF",
"':'",
"T_IF",
"T_CLASS",
"T_IMPLEMENTS",
"T_VAR",
"T_CONST",
"T_FINAL",
"T_ABSTRACT",
"T_STATIC",
"T_PRIVATE",
"T_PROTECTED",
"T_PUBLIC",
"T_INTERFACE",
"T_EXTENDS",
"T_FUNC_C",
"T_METHOD_C",
"T_CLASS_C",
"T_FILE",
"T_LINE",
"T_CONSTANT_ENCAPSED_STRING",
"T_DNUMBER",
"T_LNUMBER",
"T_DOUBLE_ARROW",
"T_PAAMAYIM_NEKUDOTAYIM",
"T_FUNCTION",
"T_STRING",
"T_VARIABLE",
"'&'",
"'='",
"'-'",
"'+'",
"T_ARRAY",
"T_HALT_COMPILER",
"T_DEC",
"T_OBJECT_CAST",
"T_ENDFOREACH",
"'~'",
//"T_BAD_CHARACTER",
"T_DIV_EQUAL",
"T_THROW",
"T_INCLUDE_ONCE",
"T_MUL_EQUAL",
"T_ELSEIF",
"T_SL",
"T_IS_EQUAL",
"T_IS_NOT_IDENTICAL",
"T_CONTINUE",
"T_ARRAY_CAST",
"T_SR",
"T_STRING_CAST",
"'.'",
"T_REQUIRE_ONCE",
"T_INCLUDE",
//"T_CHARACTER",
"T_ELSE",
//"T_CURLY_OPEN",
"T_INT_CAST",
"T_IS_GREATER_OR_EQUAL",
"T_LOGICAL_XOR",
"T_EMPTY",
"T_BOOLEAN_OR",
"T_DECLARE",
"T_BREAK",
"'%'",
"'`'",
//"T_ENCAPSED_AND_WHITESPACE",
"T_LOGICAL_AND",
"T_ENDWHILE",
"T_DEFAULT",
"'*'",
"T_DOUBLE_CAST",
"T_ISSET",
"T_DOLLAR_OPEN_CURLY_BRACES",
"T_LOGICAL_OR",
"T_AND_EQUAL",
"'$'",
"T_BOOLEAN_AND",
"T_ECHO",
"T_SL_EQUAL",
"T_CATCH",
"T_PLUS_EQUAL",
"T_INSTANCEOF",
"T_OR_EQUAL",
"T_INLINE_HTML",
"T_GLOBAL",
"'<'",
"T_INC",
"T_UNSET_CAST",
"T_SR_EQUAL",
"T_ENDDECLARE",
"T_MINUS_EQUAL",
"T_IS_IDENTICAL",
"T_TRY",
"T_IS_NOT_EQUAL",
"T_CASE",
"'?'",
"'@'",
"T_CONCAT_EQUAL",
"'>'",
"T_START_HEREDOC",
"T_DO",
"T_CLONE",
"T_RETURN",
"T_ENDFOR",
"'/'",
"T_PRINT",
"'['",
"T_EVAL",
"T_XOR_EQUAL",
"T_FOREACH",
"T_NUM_STRING",
"T_SWITCH",
"T_BOOL_CAST",
"T_STRING_VARNAME",
"T_UNSET",
"T_ENDSWITCH",
"T_FOR",
"'!'",
"']'",
"T_EXIT",
"T_WHILE",
"T_END_HEREDOC",
"'|'",
"T_NEW",
"T_REQUIRE",
"T_OBJECT_OPERATOR",
"'^'",
"T_MOD_EQUAL",
"T_IS_SMALLER_OR_EQUAL",
"T_AS",
"T_LIST",
"T_USE",
NULL
